import axios from 'axios';
import ElementMessage from 'element-plus/es/components/Message/index';
import useUserStore from '@/store/modules/user';
// axios实例
const request = axios.create({
    baseURL: import.meta.env.VITE_APP_BASE_API,
    timeout: 5000
})
// 请求拦截器
request.interceptors.request.use((config) => {
    let userStore = useUserStore();
    // 获取用户token
    if (userStore.token) {
        config.headers.token = userStore.token
    }
    return config
})
// 响应拦截器
request.interceptors.response.use(
    (res) => {
        // 简化数据
        return res.data
    },
    (error) => {
        let message
        switch (error.response.status) {
            case 401:
                message='Token过期'
                break;
            case 403:
                message='无权访问'
                break;
            case 404:
                message='请求地址错误'
                break;
            default:
                message='网络出现问题'
                break;
        }
        // 提示错误信息
        ElementMessage.error(message)
        return Promise.reject(error)
    })

// 对外暴露
export default request